//
//  MainViewController.swift
//  微博个人swift
//
//  Created by 李灏 on 16/1/30.
//  Copyright © 2016年 lh. All rights reserved.
//

import UIKit

class MainViewController: UITabBarController {

    //MARK:按钮监听事件  
    //private 私有的
    //1.不希望外界访问改方法 可以加上 private关键字 来限制访问
    //2.一旦targe - action 对应的方法添加了private 之后 运行循环就无法找到该方法
    //3.在方法前添加 @objc 告诉运行循环 这个方法是基于OC消息动态派发机制来执行
    @objc private func plusBtnDidClick(){
        print(__FUNCTION__)
        let compse = ComposeViewController()
        let nav = BaseNavViewController(rootViewController:compse)
        presentViewController(nav, animated: true, completion: nil)
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        let mainTabBar = MainTabBar()
        //由于系统的tabbar是只读属性 不能够直接设置 可以通过kvc的方式在运行时 替换身份
        setValue(mainTabBar, forKey: "tabBar")
        //添加点击事件
        let actionName = "plusBtnDidClick"
        mainTabBar.plusBtn.addTarget(self, action: Selector(actionName), forControlEvents: .TouchUpInside)
        addChildViewControllers()
    }
    //添加控制器
    func addChildViewControllers() {
        addChildViewController(HomeTableViewController(), title: "首页", imageName: "tabbar_home")
        addChildViewController(MessageTableViewController(), title: "消息", imageName: "tabbar_message_center")
        addChildViewController(DiscoverTableViewController(), title: "发现", imageName: "tabbar_discover")
        addChildViewController(ProfileTableViewController(), title: "我", imageName: "tabbar_profile")
    }
    //添加单个控制器
    func addChildViewController(vc:UIViewController,title:String,imageName:String) {
        //设置渲染颜色
//        tabBar.tintColor = UIColor.orangeColor()
        let nav = BaseNavViewController(rootViewController: vc)
        vc.title = title
        vc.tabBarItem.image = UIImage(named: imageName)
        
        addChildViewController(nav)
    }
}
